
package boids;

import java.util.ArrayList;

import toxi.geom.Vec2D;

public interface SteeringBehaviors
{
	public static final int NONE           = 0;
	public static final int	WANDER			= 1;
	public static final int	SEEK				= 2;
	public static final int	ARRIVE			= 3;
	public static final int	FLEE				= 4;
	public static final int	AVOID				= 5;
	public static final int	AVOIDOBSTACLES	= 6;
	public static final int	PATHFOLLOW		= 7;

	public void move();

	public void seek(Vec2D _position);

	public void arrive(Vec2D _position);

	public void avoid(Vec2D _position);

	public void flee(Vec2D _position);

	public void avoidObstacles(ArrayList<Obstacle> _obstacles);

	public void followPath(SplinePath _path, boolean _close, boolean _repeat);

	public Vec2D steer(Vec2D _position, boolean slowDown);
}
